package com.ktwlrj.securitycenter.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ktwlrj.core.base.SuperEntity;
import com.ktwlrj.securityboot.autoconfigure.security.database.annotation.EncryptDecryptClass;
import com.ktwlrj.securityboot.autoconfigure.security.database.annotation.EncryptDecryptField;
import com.ktwlrj.securityboot.autoconfigure.security.database.annotation.ShowProcessField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 触发日志实体类
 *
 * @author makejava
 * @since 2020-02-24 18:08:13
 */
@Getter
@Setter
@ToString
@EncryptDecryptClass
@TableName("fcjy_safe_trigger_log")
public class SafeTriggerLogEntity extends SuperEntity {
    private static final long serialVersionUID = -97864780621148689L;

    @TableId
    private String triggerId;

    @ApiModelProperty(name = "businessType", value = "触发业务(1.预警拦截,2.特殊房屋,3.业务放行)")
    private Integer businessType;

    @ApiModelProperty(name = "busiId", value = "业务主键id")
    private String busiId;

    @ApiModelProperty(name = "ruleCode", value = "业务编号")
    private String busiCode;

    @ApiModelProperty(name = "ruleName", value = "业务名称")
    private String busiName;

    @ApiModelProperty(name = "target", value = "对象(1.人员，2.机构,3.项目,4.销售证,5.栋编号,6.房屋)")
    private Integer target;

    @ApiModelProperty(name = "name", value = "名称(机构或人员)")
    private String name;

    @ApiModelProperty(name = "idcardType", value = "证件类型:10-身份证,11-组织机构代码,12-法人代码证,13-台胞证,14-台湾身份证,15-香港身份证,16-军官证,17-士官证,18-警官证,19-护照,20-澳门身份证,21-营业执照,22-统一社会信用代码,23-户口簿,99-其他")
    private Integer idcardType;

    @ApiModelProperty(name = "idcard", value = "人员证件号码")
    @ShowProcessField(format = ShowProcessField.DEFAULT_CARD)
    private String idcard;

    @EncryptDecryptField
    @ApiModelProperty(name = "idcardEncry", value = "人员证件号码加密")
    private String idcardEncry;

    @ApiModelProperty(name = "projectName", value = "项目名称")
    private String projectName;

    @ApiModelProperty(name = "projectCode", value = "项目编号")
    private String projectCode;

    @ApiModelProperty(name = "saleCertificateType", value = "权证件类型(1.预售证,2.现售证,3.不动产权证，4.不动产登记证明，5.产权证，6.备案证明）")
    private Integer saleCertificateType;

    @ApiModelProperty(name = "saleCertificate", value = "权证号")
    private String saleCertificate;

    @ApiModelProperty(name = "buildingNumber", value = "栋编号")
    private String buildingNumber;

    @ApiModelProperty(name = "roomNumber", value = "房号")
    private String roomNumber;

    @ApiModelProperty(name = "tradeUnitPrice", value = "交易单价")
    private BigDecimal tradeUnitPrice;

    @ApiModelProperty(name = "orgId", value = "机构id")
    private String orgId;

    @ApiModelProperty(name = "orgName", value = "机构名称")
    private String orgName;

    @ApiModelProperty(name = "triggerType", value = "触发类型(1.预警,2.拦截,3.特殊房屋交易规则,4.特殊放行）")
    private Integer triggerType;

    @ApiModelProperty(name = "triggerResult", value = "触发结果(1.预警,2.拦截,3.放行)")
    private Integer triggerResult;

    @ApiModelProperty(name = "triggerTime", value = "触发时间")
    private Date triggerTime;

    @ApiModelProperty(name = "version", value = "版本号")
    private Integer version;

    @ApiModelProperty(name = "regionCode", value = "区域编号")
    private String regionCode;

    @ApiModelProperty(name = "regionName", value = "区域名称")
    private String regionName;
}